<?php
	/**
	 * This is a MetaControl class, providing a QForm or QPanel access to event handlers
	 * and QControls to perform the Create, Edit, and Delete functionality
	 * of the MantisCustomFieldTable class.  This code-generated class
	 * contains all the basic elements to help a QPanel or QForm display an HTML form that can
	 * manipulate a single MantisCustomFieldTable object.
	 *
	 * To take advantage of some (or all) of these control objects, you
	 * must create a new QForm or QPanel which instantiates a MantisCustomFieldTableMetaControl
	 * class.
	 *
	 * Any and all changes to this file will be overwritten with any subsequent
	 * code re-generation.
	 *
	 * @package My QCubed Application
	 * @subpackage MetaControls
	 * @property-read MantisCustomFieldTable $MantisCustomFieldTable the actual MantisCustomFieldTable data class being edited
	 * @property QLabel $IdControl
	 * @property-read QLabel $IdLabel
	 * @property QTextBox $NameControl
	 * @property-read QLabel $NameLabel
	 * @property QIntegerTextBox $TypeControl
	 * @property-read QLabel $TypeLabel
	 * @property QTextBox $PossibleValuesControl
	 * @property-read QLabel $PossibleValuesLabel
	 * @property QTextBox $DefaultValueControl
	 * @property-read QLabel $DefaultValueLabel
	 * @property QTextBox $ValidRegexpControl
	 * @property-read QLabel $ValidRegexpLabel
	 * @property QIntegerTextBox $AccessLevelRControl
	 * @property-read QLabel $AccessLevelRLabel
	 * @property QIntegerTextBox $AccessLevelRwControl
	 * @property-read QLabel $AccessLevelRwLabel
	 * @property QIntegerTextBox $LengthMinControl
	 * @property-read QLabel $LengthMinLabel
	 * @property QIntegerTextBox $LengthMaxControl
	 * @property-read QLabel $LengthMaxLabel
	 * @property QIntegerTextBox $RequireReportControl
	 * @property-read QLabel $RequireReportLabel
	 * @property QIntegerTextBox $RequireUpdateControl
	 * @property-read QLabel $RequireUpdateLabel
	 * @property QIntegerTextBox $DisplayReportControl
	 * @property-read QLabel $DisplayReportLabel
	 * @property QIntegerTextBox $DisplayUpdateControl
	 * @property-read QLabel $DisplayUpdateLabel
	 * @property QIntegerTextBox $RequireResolvedControl
	 * @property-read QLabel $RequireResolvedLabel
	 * @property QIntegerTextBox $DisplayResolvedControl
	 * @property-read QLabel $DisplayResolvedLabel
	 * @property QIntegerTextBox $DisplayClosedControl
	 * @property-read QLabel $DisplayClosedLabel
	 * @property QIntegerTextBox $RequireClosedControl
	 * @property-read QLabel $RequireClosedLabel
	 * @property QIntegerTextBox $FilterByControl
	 * @property-read QLabel $FilterByLabel
	 * @property-read string $TitleVerb a verb indicating whether or not this is being edited or created
	 * @property-read boolean $EditMode a boolean indicating whether or not this is being edited or created
	 */

	class MantisCustomFieldTableMetaControlGen extends QBaseClass {
		// General Variables
		/**
		 * @var MantisCustomFieldTable objMantisCustomFieldTable
		 * @access protected
		 */
		protected $objMantisCustomFieldTable;
		/**
		 * @var QForm|QControl objParentObject
		 * @access protected
		 */
		protected $objParentObject;
		/**
		 * @var string strTitleVerb
		 * @access protected
		 */
		protected $strTitleVerb;
		/**
		 * @var boolean blnEditMode
		 * @access protected
		 */
		protected $blnEditMode;

		// Controls that allow the editing of MantisCustomFieldTable's individual data fields
		/**
		 * @var QLabel lblId
		 * @access protected
		 */
		protected $lblId;
		/**
		 * @var QTextBox txtName
		 * @access protected
		 */
		protected $txtName;
		/**
		 * @var QIntegerTextBox txtType
		 * @access protected
		 */
		protected $txtType;
		/**
		 * @var QTextBox txtPossibleValues
		 * @access protected
		 */
		protected $txtPossibleValues;
		/**
		 * @var QTextBox txtDefaultValue
		 * @access protected
		 */
		protected $txtDefaultValue;
		/**
		 * @var QTextBox txtValidRegexp
		 * @access protected
		 */
		protected $txtValidRegexp;
		/**
		 * @var QIntegerTextBox txtAccessLevelR
		 * @access protected
		 */
		protected $txtAccessLevelR;
		/**
		 * @var QIntegerTextBox txtAccessLevelRw
		 * @access protected
		 */
		protected $txtAccessLevelRw;
		/**
		 * @var QIntegerTextBox txtLengthMin
		 * @access protected
		 */
		protected $txtLengthMin;
		/**
		 * @var QIntegerTextBox txtLengthMax
		 * @access protected
		 */
		protected $txtLengthMax;
		/**
		 * @var QIntegerTextBox txtRequireReport
		 * @access protected
		 */
		protected $txtRequireReport;
		/**
		 * @var QIntegerTextBox txtRequireUpdate
		 * @access protected
		 */
		protected $txtRequireUpdate;
		/**
		 * @var QIntegerTextBox txtDisplayReport
		 * @access protected
		 */
		protected $txtDisplayReport;
		/**
		 * @var QIntegerTextBox txtDisplayUpdate
		 * @access protected
		 */
		protected $txtDisplayUpdate;
		/**
		 * @var QIntegerTextBox txtRequireResolved
		 * @access protected
		 */
		protected $txtRequireResolved;
		/**
		 * @var QIntegerTextBox txtDisplayResolved
		 * @access protected
		 */
		protected $txtDisplayResolved;
		/**
		 * @var QIntegerTextBox txtDisplayClosed
		 * @access protected
		 */
		protected $txtDisplayClosed;
		/**
		 * @var QIntegerTextBox txtRequireClosed
		 * @access protected
		 */
		protected $txtRequireClosed;
		/**
		 * @var QIntegerTextBox txtFilterBy
		 * @access protected
		 */
		protected $txtFilterBy;

		// Controls that allow the viewing of MantisCustomFieldTable's individual data fields
		/**
		 * @var QLabel lblName
		 * @access protected
		 */
		protected $lblName;
		/**
		 * @var QLabel lblType
		 * @access protected
		 */
		protected $lblType;
		/**
		 * @var QLabel lblPossibleValues
		 * @access protected
		 */
		protected $lblPossibleValues;
		/**
		 * @var QLabel lblDefaultValue
		 * @access protected
		 */
		protected $lblDefaultValue;
		/**
		 * @var QLabel lblValidRegexp
		 * @access protected
		 */
		protected $lblValidRegexp;
		/**
		 * @var QLabel lblAccessLevelR
		 * @access protected
		 */
		protected $lblAccessLevelR;
		/**
		 * @var QLabel lblAccessLevelRw
		 * @access protected
		 */
		protected $lblAccessLevelRw;
		/**
		 * @var QLabel lblLengthMin
		 * @access protected
		 */
		protected $lblLengthMin;
		/**
		 * @var QLabel lblLengthMax
		 * @access protected
		 */
		protected $lblLengthMax;
		/**
		 * @var QLabel lblRequireReport
		 * @access protected
		 */
		protected $lblRequireReport;
		/**
		 * @var QLabel lblRequireUpdate
		 * @access protected
		 */
		protected $lblRequireUpdate;
		/**
		 * @var QLabel lblDisplayReport
		 * @access protected
		 */
		protected $lblDisplayReport;
		/**
		 * @var QLabel lblDisplayUpdate
		 * @access protected
		 */
		protected $lblDisplayUpdate;
		/**
		 * @var QLabel lblRequireResolved
		 * @access protected
		 */
		protected $lblRequireResolved;
		/**
		 * @var QLabel lblDisplayResolved
		 * @access protected
		 */
		protected $lblDisplayResolved;
		/**
		 * @var QLabel lblDisplayClosed
		 * @access protected
		 */
		protected $lblDisplayClosed;
		/**
		 * @var QLabel lblRequireClosed
		 * @access protected
		 */
		protected $lblRequireClosed;
		/**
		 * @var QLabel lblFilterBy
		 * @access protected
		 */
		protected $lblFilterBy;

		// QListBox Controls (if applicable) to edit Unique ReverseReferences and ManyToMany References

		// QLabel Controls (if applicable) to view Unique ReverseReferences and ManyToMany References


		/**
		 * Main constructor.  Constructor OR static create methods are designed to be called in either
		 * a parent QPanel or the main QForm when wanting to create a
		 * MantisCustomFieldTableMetaControl to edit a single MantisCustomFieldTable object within the
		 * QPanel or QForm.
		 *
		 * This constructor takes in a single MantisCustomFieldTable object, while any of the static
		 * create methods below can be used to construct based off of individual PK ID(s).
		 *
		 * @param mixed $objParentObject QForm or QPanel which will be using this MantisCustomFieldTableMetaControl
		 * @param MantisCustomFieldTable $objMantisCustomFieldTable new or existing MantisCustomFieldTable object
		 */
		 public function __construct($objParentObject, MantisCustomFieldTable $objMantisCustomFieldTable) {
			// Setup Parent Object (e.g. QForm or QPanel which will be using this MantisCustomFieldTableMetaControl)
			$this->objParentObject = $objParentObject;

			// Setup linked MantisCustomFieldTable object
			$this->objMantisCustomFieldTable = $objMantisCustomFieldTable;

			// Figure out if we're Editing or Creating New
			if ($this->objMantisCustomFieldTable->__Restored) {
				$this->strTitleVerb = QApplication::Translate('Edit');
				$this->blnEditMode = true;
			} else {
				$this->strTitleVerb = QApplication::Translate('Create');
				$this->blnEditMode = false;
			}
		 }

		/**
		 * Static Helper Method to Create using PK arguments
		 * You must pass in the PK arguments on an object to load, or leave it blank to create a new one.
		 * If you want to load via QueryString or PathInfo, use the CreateFromQueryString or CreateFromPathInfo
		 * static helper methods.  Finally, specify a CreateType to define whether or not we are only allowed to
		 * edit, or if we are also allowed to create a new one, etc.
		 *
		 * @param mixed $objParentObject QForm or QPanel which will be using this MantisCustomFieldTableMetaControl
		 * @param integer $intId primary key value
		 * @param QMetaControlCreateType $intCreateType rules governing MantisCustomFieldTable object creation - defaults to CreateOrEdit
 		 * @return MantisCustomFieldTableMetaControl
		 */
		public static function Create($objParentObject, $intId = null, $intCreateType = QMetaControlCreateType::CreateOrEdit) {
			// Attempt to Load from PK Arguments
			if (strlen($intId)) {
				$objMantisCustomFieldTable = MantisCustomFieldTable::Load($intId);

				// MantisCustomFieldTable was found -- return it!
				if ($objMantisCustomFieldTable)
					return new MantisCustomFieldTableMetaControl($objParentObject, $objMantisCustomFieldTable);

				// If CreateOnRecordNotFound not specified, throw an exception
				else if ($intCreateType != QMetaControlCreateType::CreateOnRecordNotFound)
					throw new QCallerException('Could not find a MantisCustomFieldTable object with PK arguments: ' . $intId);

			// If EditOnly is specified, throw an exception
			} else if ($intCreateType == QMetaControlCreateType::EditOnly)
				throw new QCallerException('No PK arguments specified');

			// If we are here, then we need to create a new record
			return new MantisCustomFieldTableMetaControl($objParentObject, new MantisCustomFieldTable());
		}

		/**
		 * Static Helper Method to Create using PathInfo arguments
		 *
		 * @param mixed $objParentObject QForm or QPanel which will be using this MantisCustomFieldTableMetaControl
		 * @param QMetaControlCreateType $intCreateType rules governing MantisCustomFieldTable object creation - defaults to CreateOrEdit
		 * @return MantisCustomFieldTableMetaControl
		 */
		public static function CreateFromPathInfo($objParentObject, $intCreateType = QMetaControlCreateType::CreateOrEdit) {
			$intId = QApplication::PathInfo(0);
			return MantisCustomFieldTableMetaControl::Create($objParentObject, $intId, $intCreateType);
		}

		/**
		 * Static Helper Method to Create using QueryString arguments
		 *
		 * @param mixed $objParentObject QForm or QPanel which will be using this MantisCustomFieldTableMetaControl
		 * @param QMetaControlCreateType $intCreateType rules governing MantisCustomFieldTable object creation - defaults to CreateOrEdit
		 * @return MantisCustomFieldTableMetaControl
		 */
		public static function CreateFromQueryString($objParentObject, $intCreateType = QMetaControlCreateType::CreateOrEdit) {
			$intId = QApplication::QueryString('intId');
			return MantisCustomFieldTableMetaControl::Create($objParentObject, $intId, $intCreateType);
		}



		///////////////////////////////////////////////
		// PUBLIC CREATE and REFRESH METHODS
		///////////////////////////////////////////////

		/**
		 * Create and setup QLabel lblId
		 * @param string $strControlId optional ControlId to use
		 * @return QLabel
		 */
		public function lblId_Create($strControlId = null) {
			$this->lblId = new QLabel($this->objParentObject, $strControlId);
			$this->lblId->Name = QApplication::Translate('Id');
			if ($this->blnEditMode)
				$this->lblId->Text = $this->objMantisCustomFieldTable->Id;
			else
				$this->lblId->Text = 'N/A';
			return $this->lblId;
		}

		/**
		 * Create and setup QTextBox txtName
		 * @param string $strControlId optional ControlId to use
		 * @return QTextBox
		 */
		public function txtName_Create($strControlId = null) {
			$this->txtName = new QTextBox($this->objParentObject, $strControlId);
			$this->txtName->Name = QApplication::Translate('Name');
			$this->txtName->Text = $this->objMantisCustomFieldTable->Name;
			$this->txtName->Required = true;
			$this->txtName->MaxLength = MantisCustomFieldTable::NameMaxLength;
			return $this->txtName;
		}

		/**
		 * Create and setup QLabel lblName
		 * @param string $strControlId optional ControlId to use
		 * @return QLabel
		 */
		public function lblName_Create($strControlId = null) {
			$this->lblName = new QLabel($this->objParentObject, $strControlId);
			$this->lblName->Name = QApplication::Translate('Name');
			$this->lblName->Text = $this->objMantisCustomFieldTable->Name;
			$this->lblName->Required = true;
			return $this->lblName;
		}

		/**
		 * Create and setup QIntegerTextBox txtType
		 * @param string $strControlId optional ControlId to use
		 * @return QIntegerTextBox
		 */
		public function txtType_Create($strControlId = null) {
			$this->txtType = new QIntegerTextBox($this->objParentObject, $strControlId);
			$this->txtType->Name = QApplication::Translate('Type');
			$this->txtType->Text = $this->objMantisCustomFieldTable->Type;
			$this->txtType->Required = true;
			return $this->txtType;
		}

		/**
		 * Create and setup QLabel lblType
		 * @param string $strControlId optional ControlId to use
		 * @param string $strFormat optional sprintf format to use
		 * @return QLabel
		 */
		public function lblType_Create($strControlId = null, $strFormat = null) {
			$this->lblType = new QLabel($this->objParentObject, $strControlId);
			$this->lblType->Name = QApplication::Translate('Type');
			$this->lblType->Text = $this->objMantisCustomFieldTable->Type;
			$this->lblType->Required = true;
			$this->lblType->Format = $strFormat;
			return $this->lblType;
		}

		/**
		 * Create and setup QTextBox txtPossibleValues
		 * @param string $strControlId optional ControlId to use
		 * @return QTextBox
		 */
		public function txtPossibleValues_Create($strControlId = null) {
			$this->txtPossibleValues = new QTextBox($this->objParentObject, $strControlId);
			$this->txtPossibleValues->Name = QApplication::Translate('Possible Values');
			$this->txtPossibleValues->Text = $this->objMantisCustomFieldTable->PossibleValues;
			$this->txtPossibleValues->Required = true;
			$this->txtPossibleValues->TextMode = QTextMode::MultiLine;
			return $this->txtPossibleValues;
		}

		/**
		 * Create and setup QLabel lblPossibleValues
		 * @param string $strControlId optional ControlId to use
		 * @return QLabel
		 */
		public function lblPossibleValues_Create($strControlId = null) {
			$this->lblPossibleValues = new QLabel($this->objParentObject, $strControlId);
			$this->lblPossibleValues->Name = QApplication::Translate('Possible Values');
			$this->lblPossibleValues->Text = $this->objMantisCustomFieldTable->PossibleValues;
			$this->lblPossibleValues->Required = true;
			return $this->lblPossibleValues;
		}

		/**
		 * Create and setup QTextBox txtDefaultValue
		 * @param string $strControlId optional ControlId to use
		 * @return QTextBox
		 */
		public function txtDefaultValue_Create($strControlId = null) {
			$this->txtDefaultValue = new QTextBox($this->objParentObject, $strControlId);
			$this->txtDefaultValue->Name = QApplication::Translate('Default Value');
			$this->txtDefaultValue->Text = $this->objMantisCustomFieldTable->DefaultValue;
			$this->txtDefaultValue->Required = true;
			$this->txtDefaultValue->MaxLength = MantisCustomFieldTable::DefaultValueMaxLength;
			return $this->txtDefaultValue;
		}

		/**
		 * Create and setup QLabel lblDefaultValue
		 * @param string $strControlId optional ControlId to use
		 * @return QLabel
		 */
		public function lblDefaultValue_Create($strControlId = null) {
			$this->lblDefaultValue = new QLabel($this->objParentObject, $strControlId);
			$this->lblDefaultValue->Name = QApplication::Translate('Default Value');
			$this->lblDefaultValue->Text = $this->objMantisCustomFieldTable->DefaultValue;
			$this->lblDefaultValue->Required = true;
			return $this->lblDefaultValue;
		}

		/**
		 * Create and setup QTextBox txtValidRegexp
		 * @param string $strControlId optional ControlId to use
		 * @return QTextBox
		 */
		public function txtValidRegexp_Create($strControlId = null) {
			$this->txtValidRegexp = new QTextBox($this->objParentObject, $strControlId);
			$this->txtValidRegexp->Name = QApplication::Translate('Valid Regexp');
			$this->txtValidRegexp->Text = $this->objMantisCustomFieldTable->ValidRegexp;
			$this->txtValidRegexp->Required = true;
			$this->txtValidRegexp->MaxLength = MantisCustomFieldTable::ValidRegexpMaxLength;
			return $this->txtValidRegexp;
		}

		/**
		 * Create and setup QLabel lblValidRegexp
		 * @param string $strControlId optional ControlId to use
		 * @return QLabel
		 */
		public function lblValidRegexp_Create($strControlId = null) {
			$this->lblValidRegexp = new QLabel($this->objParentObject, $strControlId);
			$this->lblValidRegexp->Name = QApplication::Translate('Valid Regexp');
			$this->lblValidRegexp->Text = $this->objMantisCustomFieldTable->ValidRegexp;
			$this->lblValidRegexp->Required = true;
			return $this->lblValidRegexp;
		}

		/**
		 * Create and setup QIntegerTextBox txtAccessLevelR
		 * @param string $strControlId optional ControlId to use
		 * @return QIntegerTextBox
		 */
		public function txtAccessLevelR_Create($strControlId = null) {
			$this->txtAccessLevelR = new QIntegerTextBox($this->objParentObject, $strControlId);
			$this->txtAccessLevelR->Name = QApplication::Translate('Access Level R');
			$this->txtAccessLevelR->Text = $this->objMantisCustomFieldTable->AccessLevelR;
			$this->txtAccessLevelR->Required = true;
			return $this->txtAccessLevelR;
		}

		/**
		 * Create and setup QLabel lblAccessLevelR
		 * @param string $strControlId optional ControlId to use
		 * @param string $strFormat optional sprintf format to use
		 * @return QLabel
		 */
		public function lblAccessLevelR_Create($strControlId = null, $strFormat = null) {
			$this->lblAccessLevelR = new QLabel($this->objParentObject, $strControlId);
			$this->lblAccessLevelR->Name = QApplication::Translate('Access Level R');
			$this->lblAccessLevelR->Text = $this->objMantisCustomFieldTable->AccessLevelR;
			$this->lblAccessLevelR->Required = true;
			$this->lblAccessLevelR->Format = $strFormat;
			return $this->lblAccessLevelR;
		}

		/**
		 * Create and setup QIntegerTextBox txtAccessLevelRw
		 * @param string $strControlId optional ControlId to use
		 * @return QIntegerTextBox
		 */
		public function txtAccessLevelRw_Create($strControlId = null) {
			$this->txtAccessLevelRw = new QIntegerTextBox($this->objParentObject, $strControlId);
			$this->txtAccessLevelRw->Name = QApplication::Translate('Access Level Rw');
			$this->txtAccessLevelRw->Text = $this->objMantisCustomFieldTable->AccessLevelRw;
			$this->txtAccessLevelRw->Required = true;
			return $this->txtAccessLevelRw;
		}

		/**
		 * Create and setup QLabel lblAccessLevelRw
		 * @param string $strControlId optional ControlId to use
		 * @param string $strFormat optional sprintf format to use
		 * @return QLabel
		 */
		public function lblAccessLevelRw_Create($strControlId = null, $strFormat = null) {
			$this->lblAccessLevelRw = new QLabel($this->objParentObject, $strControlId);
			$this->lblAccessLevelRw->Name = QApplication::Translate('Access Level Rw');
			$this->lblAccessLevelRw->Text = $this->objMantisCustomFieldTable->AccessLevelRw;
			$this->lblAccessLevelRw->Required = true;
			$this->lblAccessLevelRw->Format = $strFormat;
			return $this->lblAccessLevelRw;
		}

		/**
		 * Create and setup QIntegerTextBox txtLengthMin
		 * @param string $strControlId optional ControlId to use
		 * @return QIntegerTextBox
		 */
		public function txtLengthMin_Create($strControlId = null) {
			$this->txtLengthMin = new QIntegerTextBox($this->objParentObject, $strControlId);
			$this->txtLengthMin->Name = QApplication::Translate('Length Min');
			$this->txtLengthMin->Text = $this->objMantisCustomFieldTable->LengthMin;
			$this->txtLengthMin->Required = true;
			return $this->txtLengthMin;
		}

		/**
		 * Create and setup QLabel lblLengthMin
		 * @param string $strControlId optional ControlId to use
		 * @param string $strFormat optional sprintf format to use
		 * @return QLabel
		 */
		public function lblLengthMin_Create($strControlId = null, $strFormat = null) {
			$this->lblLengthMin = new QLabel($this->objParentObject, $strControlId);
			$this->lblLengthMin->Name = QApplication::Translate('Length Min');
			$this->lblLengthMin->Text = $this->objMantisCustomFieldTable->LengthMin;
			$this->lblLengthMin->Required = true;
			$this->lblLengthMin->Format = $strFormat;
			return $this->lblLengthMin;
		}

		/**
		 * Create and setup QIntegerTextBox txtLengthMax
		 * @param string $strControlId optional ControlId to use
		 * @return QIntegerTextBox
		 */
		public function txtLengthMax_Create($strControlId = null) {
			$this->txtLengthMax = new QIntegerTextBox($this->objParentObject, $strControlId);
			$this->txtLengthMax->Name = QApplication::Translate('Length Max');
			$this->txtLengthMax->Text = $this->objMantisCustomFieldTable->LengthMax;
			$this->txtLengthMax->Required = true;
			return $this->txtLengthMax;
		}

		/**
		 * Create and setup QLabel lblLengthMax
		 * @param string $strControlId optional ControlId to use
		 * @param string $strFormat optional sprintf format to use
		 * @return QLabel
		 */
		public function lblLengthMax_Create($strControlId = null, $strFormat = null) {
			$this->lblLengthMax = new QLabel($this->objParentObject, $strControlId);
			$this->lblLengthMax->Name = QApplication::Translate('Length Max');
			$this->lblLengthMax->Text = $this->objMantisCustomFieldTable->LengthMax;
			$this->lblLengthMax->Required = true;
			$this->lblLengthMax->Format = $strFormat;
			return $this->lblLengthMax;
		}

		/**
		 * Create and setup QIntegerTextBox txtRequireReport
		 * @param string $strControlId optional ControlId to use
		 * @return QIntegerTextBox
		 */
		public function txtRequireReport_Create($strControlId = null) {
			$this->txtRequireReport = new QIntegerTextBox($this->objParentObject, $strControlId);
			$this->txtRequireReport->Name = QApplication::Translate('Require Report');
			$this->txtRequireReport->Text = $this->objMantisCustomFieldTable->RequireReport;
			$this->txtRequireReport->Required = true;
			return $this->txtRequireReport;
		}

		/**
		 * Create and setup QLabel lblRequireReport
		 * @param string $strControlId optional ControlId to use
		 * @param string $strFormat optional sprintf format to use
		 * @return QLabel
		 */
		public function lblRequireReport_Create($strControlId = null, $strFormat = null) {
			$this->lblRequireReport = new QLabel($this->objParentObject, $strControlId);
			$this->lblRequireReport->Name = QApplication::Translate('Require Report');
			$this->lblRequireReport->Text = $this->objMantisCustomFieldTable->RequireReport;
			$this->lblRequireReport->Required = true;
			$this->lblRequireReport->Format = $strFormat;
			return $this->lblRequireReport;
		}

		/**
		 * Create and setup QIntegerTextBox txtRequireUpdate
		 * @param string $strControlId optional ControlId to use
		 * @return QIntegerTextBox
		 */
		public function txtRequireUpdate_Create($strControlId = null) {
			$this->txtRequireUpdate = new QIntegerTextBox($this->objParentObject, $strControlId);
			$this->txtRequireUpdate->Name = QApplication::Translate('Require Update');
			$this->txtRequireUpdate->Text = $this->objMantisCustomFieldTable->RequireUpdate;
			$this->txtRequireUpdate->Required = true;
			return $this->txtRequireUpdate;
		}

		/**
		 * Create and setup QLabel lblRequireUpdate
		 * @param string $strControlId optional ControlId to use
		 * @param string $strFormat optional sprintf format to use
		 * @return QLabel
		 */
		public function lblRequireUpdate_Create($strControlId = null, $strFormat = null) {
			$this->lblRequireUpdate = new QLabel($this->objParentObject, $strControlId);
			$this->lblRequireUpdate->Name = QApplication::Translate('Require Update');
			$this->lblRequireUpdate->Text = $this->objMantisCustomFieldTable->RequireUpdate;
			$this->lblRequireUpdate->Required = true;
			$this->lblRequireUpdate->Format = $strFormat;
			return $this->lblRequireUpdate;
		}

		/**
		 * Create and setup QIntegerTextBox txtDisplayReport
		 * @param string $strControlId optional ControlId to use
		 * @return QIntegerTextBox
		 */
		public function txtDisplayReport_Create($strControlId = null) {
			$this->txtDisplayReport = new QIntegerTextBox($this->objParentObject, $strControlId);
			$this->txtDisplayReport->Name = QApplication::Translate('Display Report');
			$this->txtDisplayReport->Text = $this->objMantisCustomFieldTable->DisplayReport;
			$this->txtDisplayReport->Required = true;
			return $this->txtDisplayReport;
		}

		/**
		 * Create and setup QLabel lblDisplayReport
		 * @param string $strControlId optional ControlId to use
		 * @param string $strFormat optional sprintf format to use
		 * @return QLabel
		 */
		public function lblDisplayReport_Create($strControlId = null, $strFormat = null) {
			$this->lblDisplayReport = new QLabel($this->objParentObject, $strControlId);
			$this->lblDisplayReport->Name = QApplication::Translate('Display Report');
			$this->lblDisplayReport->Text = $this->objMantisCustomFieldTable->DisplayReport;
			$this->lblDisplayReport->Required = true;
			$this->lblDisplayReport->Format = $strFormat;
			return $this->lblDisplayReport;
		}

		/**
		 * Create and setup QIntegerTextBox txtDisplayUpdate
		 * @param string $strControlId optional ControlId to use
		 * @return QIntegerTextBox
		 */
		public function txtDisplayUpdate_Create($strControlId = null) {
			$this->txtDisplayUpdate = new QIntegerTextBox($this->objParentObject, $strControlId);
			$this->txtDisplayUpdate->Name = QApplication::Translate('Display Update');
			$this->txtDisplayUpdate->Text = $this->objMantisCustomFieldTable->DisplayUpdate;
			$this->txtDisplayUpdate->Required = true;
			return $this->txtDisplayUpdate;
		}

		/**
		 * Create and setup QLabel lblDisplayUpdate
		 * @param string $strControlId optional ControlId to use
		 * @param string $strFormat optional sprintf format to use
		 * @return QLabel
		 */
		public function lblDisplayUpdate_Create($strControlId = null, $strFormat = null) {
			$this->lblDisplayUpdate = new QLabel($this->objParentObject, $strControlId);
			$this->lblDisplayUpdate->Name = QApplication::Translate('Display Update');
			$this->lblDisplayUpdate->Text = $this->objMantisCustomFieldTable->DisplayUpdate;
			$this->lblDisplayUpdate->Required = true;
			$this->lblDisplayUpdate->Format = $strFormat;
			return $this->lblDisplayUpdate;
		}

		/**
		 * Create and setup QIntegerTextBox txtRequireResolved
		 * @param string $strControlId optional ControlId to use
		 * @return QIntegerTextBox
		 */
		public function txtRequireResolved_Create($strControlId = null) {
			$this->txtRequireResolved = new QIntegerTextBox($this->objParentObject, $strControlId);
			$this->txtRequireResolved->Name = QApplication::Translate('Require Resolved');
			$this->txtRequireResolved->Text = $this->objMantisCustomFieldTable->RequireResolved;
			$this->txtRequireResolved->Required = true;
			return $this->txtRequireResolved;
		}

		/**
		 * Create and setup QLabel lblRequireResolved
		 * @param string $strControlId optional ControlId to use
		 * @param string $strFormat optional sprintf format to use
		 * @return QLabel
		 */
		public function lblRequireResolved_Create($strControlId = null, $strFormat = null) {
			$this->lblRequireResolved = new QLabel($this->objParentObject, $strControlId);
			$this->lblRequireResolved->Name = QApplication::Translate('Require Resolved');
			$this->lblRequireResolved->Text = $this->objMantisCustomFieldTable->RequireResolved;
			$this->lblRequireResolved->Required = true;
			$this->lblRequireResolved->Format = $strFormat;
			return $this->lblRequireResolved;
		}

		/**
		 * Create and setup QIntegerTextBox txtDisplayResolved
		 * @param string $strControlId optional ControlId to use
		 * @return QIntegerTextBox
		 */
		public function txtDisplayResolved_Create($strControlId = null) {
			$this->txtDisplayResolved = new QIntegerTextBox($this->objParentObject, $strControlId);
			$this->txtDisplayResolved->Name = QApplication::Translate('Display Resolved');
			$this->txtDisplayResolved->Text = $this->objMantisCustomFieldTable->DisplayResolved;
			$this->txtDisplayResolved->Required = true;
			return $this->txtDisplayResolved;
		}

		/**
		 * Create and setup QLabel lblDisplayResolved
		 * @param string $strControlId optional ControlId to use
		 * @param string $strFormat optional sprintf format to use
		 * @return QLabel
		 */
		public function lblDisplayResolved_Create($strControlId = null, $strFormat = null) {
			$this->lblDisplayResolved = new QLabel($this->objParentObject, $strControlId);
			$this->lblDisplayResolved->Name = QApplication::Translate('Display Resolved');
			$this->lblDisplayResolved->Text = $this->objMantisCustomFieldTable->DisplayResolved;
			$this->lblDisplayResolved->Required = true;
			$this->lblDisplayResolved->Format = $strFormat;
			return $this->lblDisplayResolved;
		}

		/**
		 * Create and setup QIntegerTextBox txtDisplayClosed
		 * @param string $strControlId optional ControlId to use
		 * @return QIntegerTextBox
		 */
		public function txtDisplayClosed_Create($strControlId = null) {
			$this->txtDisplayClosed = new QIntegerTextBox($this->objParentObject, $strControlId);
			$this->txtDisplayClosed->Name = QApplication::Translate('Display Closed');
			$this->txtDisplayClosed->Text = $this->objMantisCustomFieldTable->DisplayClosed;
			$this->txtDisplayClosed->Required = true;
			return $this->txtDisplayClosed;
		}

		/**
		 * Create and setup QLabel lblDisplayClosed
		 * @param string $strControlId optional ControlId to use
		 * @param string $strFormat optional sprintf format to use
		 * @return QLabel
		 */
		public function lblDisplayClosed_Create($strControlId = null, $strFormat = null) {
			$this->lblDisplayClosed = new QLabel($this->objParentObject, $strControlId);
			$this->lblDisplayClosed->Name = QApplication::Translate('Display Closed');
			$this->lblDisplayClosed->Text = $this->objMantisCustomFieldTable->DisplayClosed;
			$this->lblDisplayClosed->Required = true;
			$this->lblDisplayClosed->Format = $strFormat;
			return $this->lblDisplayClosed;
		}

		/**
		 * Create and setup QIntegerTextBox txtRequireClosed
		 * @param string $strControlId optional ControlId to use
		 * @return QIntegerTextBox
		 */
		public function txtRequireClosed_Create($strControlId = null) {
			$this->txtRequireClosed = new QIntegerTextBox($this->objParentObject, $strControlId);
			$this->txtRequireClosed->Name = QApplication::Translate('Require Closed');
			$this->txtRequireClosed->Text = $this->objMantisCustomFieldTable->RequireClosed;
			$this->txtRequireClosed->Required = true;
			return $this->txtRequireClosed;
		}

		/**
		 * Create and setup QLabel lblRequireClosed
		 * @param string $strControlId optional ControlId to use
		 * @param string $strFormat optional sprintf format to use
		 * @return QLabel
		 */
		public function lblRequireClosed_Create($strControlId = null, $strFormat = null) {
			$this->lblRequireClosed = new QLabel($this->objParentObject, $strControlId);
			$this->lblRequireClosed->Name = QApplication::Translate('Require Closed');
			$this->lblRequireClosed->Text = $this->objMantisCustomFieldTable->RequireClosed;
			$this->lblRequireClosed->Required = true;
			$this->lblRequireClosed->Format = $strFormat;
			return $this->lblRequireClosed;
		}

		/**
		 * Create and setup QIntegerTextBox txtFilterBy
		 * @param string $strControlId optional ControlId to use
		 * @return QIntegerTextBox
		 */
		public function txtFilterBy_Create($strControlId = null) {
			$this->txtFilterBy = new QIntegerTextBox($this->objParentObject, $strControlId);
			$this->txtFilterBy->Name = QApplication::Translate('Filter By');
			$this->txtFilterBy->Text = $this->objMantisCustomFieldTable->FilterBy;
			$this->txtFilterBy->Required = true;
			return $this->txtFilterBy;
		}

		/**
		 * Create and setup QLabel lblFilterBy
		 * @param string $strControlId optional ControlId to use
		 * @param string $strFormat optional sprintf format to use
		 * @return QLabel
		 */
		public function lblFilterBy_Create($strControlId = null, $strFormat = null) {
			$this->lblFilterBy = new QLabel($this->objParentObject, $strControlId);
			$this->lblFilterBy->Name = QApplication::Translate('Filter By');
			$this->lblFilterBy->Text = $this->objMantisCustomFieldTable->FilterBy;
			$this->lblFilterBy->Required = true;
			$this->lblFilterBy->Format = $strFormat;
			return $this->lblFilterBy;
		}



		/**
		 * Refresh this MetaControl with Data from the local MantisCustomFieldTable object.
		 * @param boolean $blnReload reload MantisCustomFieldTable from the database
		 * @return void
		 */
		public function Refresh($blnReload = false) {
			if ($blnReload)
				$this->objMantisCustomFieldTable->Reload();

			if ($this->lblId) if ($this->blnEditMode) $this->lblId->Text = $this->objMantisCustomFieldTable->Id;

			if ($this->txtName) $this->txtName->Text = $this->objMantisCustomFieldTable->Name;
			if ($this->lblName) $this->lblName->Text = $this->objMantisCustomFieldTable->Name;

			if ($this->txtType) $this->txtType->Text = $this->objMantisCustomFieldTable->Type;
			if ($this->lblType) $this->lblType->Text = $this->objMantisCustomFieldTable->Type;

			if ($this->txtPossibleValues) $this->txtPossibleValues->Text = $this->objMantisCustomFieldTable->PossibleValues;
			if ($this->lblPossibleValues) $this->lblPossibleValues->Text = $this->objMantisCustomFieldTable->PossibleValues;

			if ($this->txtDefaultValue) $this->txtDefaultValue->Text = $this->objMantisCustomFieldTable->DefaultValue;
			if ($this->lblDefaultValue) $this->lblDefaultValue->Text = $this->objMantisCustomFieldTable->DefaultValue;

			if ($this->txtValidRegexp) $this->txtValidRegexp->Text = $this->objMantisCustomFieldTable->ValidRegexp;
			if ($this->lblValidRegexp) $this->lblValidRegexp->Text = $this->objMantisCustomFieldTable->ValidRegexp;

			if ($this->txtAccessLevelR) $this->txtAccessLevelR->Text = $this->objMantisCustomFieldTable->AccessLevelR;
			if ($this->lblAccessLevelR) $this->lblAccessLevelR->Text = $this->objMantisCustomFieldTable->AccessLevelR;

			if ($this->txtAccessLevelRw) $this->txtAccessLevelRw->Text = $this->objMantisCustomFieldTable->AccessLevelRw;
			if ($this->lblAccessLevelRw) $this->lblAccessLevelRw->Text = $this->objMantisCustomFieldTable->AccessLevelRw;

			if ($this->txtLengthMin) $this->txtLengthMin->Text = $this->objMantisCustomFieldTable->LengthMin;
			if ($this->lblLengthMin) $this->lblLengthMin->Text = $this->objMantisCustomFieldTable->LengthMin;

			if ($this->txtLengthMax) $this->txtLengthMax->Text = $this->objMantisCustomFieldTable->LengthMax;
			if ($this->lblLengthMax) $this->lblLengthMax->Text = $this->objMantisCustomFieldTable->LengthMax;

			if ($this->txtRequireReport) $this->txtRequireReport->Text = $this->objMantisCustomFieldTable->RequireReport;
			if ($this->lblRequireReport) $this->lblRequireReport->Text = $this->objMantisCustomFieldTable->RequireReport;

			if ($this->txtRequireUpdate) $this->txtRequireUpdate->Text = $this->objMantisCustomFieldTable->RequireUpdate;
			if ($this->lblRequireUpdate) $this->lblRequireUpdate->Text = $this->objMantisCustomFieldTable->RequireUpdate;

			if ($this->txtDisplayReport) $this->txtDisplayReport->Text = $this->objMantisCustomFieldTable->DisplayReport;
			if ($this->lblDisplayReport) $this->lblDisplayReport->Text = $this->objMantisCustomFieldTable->DisplayReport;

			if ($this->txtDisplayUpdate) $this->txtDisplayUpdate->Text = $this->objMantisCustomFieldTable->DisplayUpdate;
			if ($this->lblDisplayUpdate) $this->lblDisplayUpdate->Text = $this->objMantisCustomFieldTable->DisplayUpdate;

			if ($this->txtRequireResolved) $this->txtRequireResolved->Text = $this->objMantisCustomFieldTable->RequireResolved;
			if ($this->lblRequireResolved) $this->lblRequireResolved->Text = $this->objMantisCustomFieldTable->RequireResolved;

			if ($this->txtDisplayResolved) $this->txtDisplayResolved->Text = $this->objMantisCustomFieldTable->DisplayResolved;
			if ($this->lblDisplayResolved) $this->lblDisplayResolved->Text = $this->objMantisCustomFieldTable->DisplayResolved;

			if ($this->txtDisplayClosed) $this->txtDisplayClosed->Text = $this->objMantisCustomFieldTable->DisplayClosed;
			if ($this->lblDisplayClosed) $this->lblDisplayClosed->Text = $this->objMantisCustomFieldTable->DisplayClosed;

			if ($this->txtRequireClosed) $this->txtRequireClosed->Text = $this->objMantisCustomFieldTable->RequireClosed;
			if ($this->lblRequireClosed) $this->lblRequireClosed->Text = $this->objMantisCustomFieldTable->RequireClosed;

			if ($this->txtFilterBy) $this->txtFilterBy->Text = $this->objMantisCustomFieldTable->FilterBy;
			if ($this->lblFilterBy) $this->lblFilterBy->Text = $this->objMantisCustomFieldTable->FilterBy;

		}



		///////////////////////////////////////////////
		// PROTECTED UPDATE METHODS for ManyToManyReferences (if any)
		///////////////////////////////////////////////





		///////////////////////////////////////////////
		// PUBLIC MANTISCUSTOMFIELDTABLE OBJECT MANIPULATORS
		///////////////////////////////////////////////

		/**
		 * This will save this object's MantisCustomFieldTable instance,
		 * updating only the fields which have had a control created for it.
		 */
		public function SaveMantisCustomFieldTable() {
			try {
				// Update any fields for controls that have been created
				if ($this->txtName) $this->objMantisCustomFieldTable->Name = $this->txtName->Text;
				if ($this->txtType) $this->objMantisCustomFieldTable->Type = $this->txtType->Text;
				if ($this->txtPossibleValues) $this->objMantisCustomFieldTable->PossibleValues = $this->txtPossibleValues->Text;
				if ($this->txtDefaultValue) $this->objMantisCustomFieldTable->DefaultValue = $this->txtDefaultValue->Text;
				if ($this->txtValidRegexp) $this->objMantisCustomFieldTable->ValidRegexp = $this->txtValidRegexp->Text;
				if ($this->txtAccessLevelR) $this->objMantisCustomFieldTable->AccessLevelR = $this->txtAccessLevelR->Text;
				if ($this->txtAccessLevelRw) $this->objMantisCustomFieldTable->AccessLevelRw = $this->txtAccessLevelRw->Text;
				if ($this->txtLengthMin) $this->objMantisCustomFieldTable->LengthMin = $this->txtLengthMin->Text;
				if ($this->txtLengthMax) $this->objMantisCustomFieldTable->LengthMax = $this->txtLengthMax->Text;
				if ($this->txtRequireReport) $this->objMantisCustomFieldTable->RequireReport = $this->txtRequireReport->Text;
				if ($this->txtRequireUpdate) $this->objMantisCustomFieldTable->RequireUpdate = $this->txtRequireUpdate->Text;
				if ($this->txtDisplayReport) $this->objMantisCustomFieldTable->DisplayReport = $this->txtDisplayReport->Text;
				if ($this->txtDisplayUpdate) $this->objMantisCustomFieldTable->DisplayUpdate = $this->txtDisplayUpdate->Text;
				if ($this->txtRequireResolved) $this->objMantisCustomFieldTable->RequireResolved = $this->txtRequireResolved->Text;
				if ($this->txtDisplayResolved) $this->objMantisCustomFieldTable->DisplayResolved = $this->txtDisplayResolved->Text;
				if ($this->txtDisplayClosed) $this->objMantisCustomFieldTable->DisplayClosed = $this->txtDisplayClosed->Text;
				if ($this->txtRequireClosed) $this->objMantisCustomFieldTable->RequireClosed = $this->txtRequireClosed->Text;
				if ($this->txtFilterBy) $this->objMantisCustomFieldTable->FilterBy = $this->txtFilterBy->Text;

				// Update any UniqueReverseReferences (if any) for controls that have been created for it

				// Save the MantisCustomFieldTable object
				$this->objMantisCustomFieldTable->Save();

				// Finally, update any ManyToManyReferences (if any)
			} catch (QCallerException $objExc) {
				$objExc->IncrementOffset();
				throw $objExc;
			}
		}

		/**
		 * This will DELETE this object's MantisCustomFieldTable instance from the database.
		 * It will also unassociate itself from any ManyToManyReferences.
		 */
		public function DeleteMantisCustomFieldTable() {
			$this->objMantisCustomFieldTable->Delete();
		}



		///////////////////////////////////////////////
		// PUBLIC GETTERS and SETTERS
		///////////////////////////////////////////////

		/**
		 * Override method to perform a property "Get"
		 * This will get the value of $strName
		 *
		 * @param string $strName Name of the property to get
		 * @return mixed
		 */
		public function __get($strName) {
			switch ($strName) {
				// General MetaControlVariables
				case 'MantisCustomFieldTable': return $this->objMantisCustomFieldTable;
				case 'TitleVerb': return $this->strTitleVerb;
				case 'EditMode': return $this->blnEditMode;

				// Controls that point to MantisCustomFieldTable fields -- will be created dynamically if not yet created
				case 'IdControl':
					if (!$this->lblId) return $this->lblId_Create();
					return $this->lblId;
				case 'IdLabel':
					if (!$this->lblId) return $this->lblId_Create();
					return $this->lblId;
				case 'NameControl':
					if (!$this->txtName) return $this->txtName_Create();
					return $this->txtName;
				case 'NameLabel':
					if (!$this->lblName) return $this->lblName_Create();
					return $this->lblName;
				case 'TypeControl':
					if (!$this->txtType) return $this->txtType_Create();
					return $this->txtType;
				case 'TypeLabel':
					if (!$this->lblType) return $this->lblType_Create();
					return $this->lblType;
				case 'PossibleValuesControl':
					if (!$this->txtPossibleValues) return $this->txtPossibleValues_Create();
					return $this->txtPossibleValues;
				case 'PossibleValuesLabel':
					if (!$this->lblPossibleValues) return $this->lblPossibleValues_Create();
					return $this->lblPossibleValues;
				case 'DefaultValueControl':
					if (!$this->txtDefaultValue) return $this->txtDefaultValue_Create();
					return $this->txtDefaultValue;
				case 'DefaultValueLabel':
					if (!$this->lblDefaultValue) return $this->lblDefaultValue_Create();
					return $this->lblDefaultValue;
				case 'ValidRegexpControl':
					if (!$this->txtValidRegexp) return $this->txtValidRegexp_Create();
					return $this->txtValidRegexp;
				case 'ValidRegexpLabel':
					if (!$this->lblValidRegexp) return $this->lblValidRegexp_Create();
					return $this->lblValidRegexp;
				case 'AccessLevelRControl':
					if (!$this->txtAccessLevelR) return $this->txtAccessLevelR_Create();
					return $this->txtAccessLevelR;
				case 'AccessLevelRLabel':
					if (!$this->lblAccessLevelR) return $this->lblAccessLevelR_Create();
					return $this->lblAccessLevelR;
				case 'AccessLevelRwControl':
					if (!$this->txtAccessLevelRw) return $this->txtAccessLevelRw_Create();
					return $this->txtAccessLevelRw;
				case 'AccessLevelRwLabel':
					if (!$this->lblAccessLevelRw) return $this->lblAccessLevelRw_Create();
					return $this->lblAccessLevelRw;
				case 'LengthMinControl':
					if (!$this->txtLengthMin) return $this->txtLengthMin_Create();
					return $this->txtLengthMin;
				case 'LengthMinLabel':
					if (!$this->lblLengthMin) return $this->lblLengthMin_Create();
					return $this->lblLengthMin;
				case 'LengthMaxControl':
					if (!$this->txtLengthMax) return $this->txtLengthMax_Create();
					return $this->txtLengthMax;
				case 'LengthMaxLabel':
					if (!$this->lblLengthMax) return $this->lblLengthMax_Create();
					return $this->lblLengthMax;
				case 'RequireReportControl':
					if (!$this->txtRequireReport) return $this->txtRequireReport_Create();
					return $this->txtRequireReport;
				case 'RequireReportLabel':
					if (!$this->lblRequireReport) return $this->lblRequireReport_Create();
					return $this->lblRequireReport;
				case 'RequireUpdateControl':
					if (!$this->txtRequireUpdate) return $this->txtRequireUpdate_Create();
					return $this->txtRequireUpdate;
				case 'RequireUpdateLabel':
					if (!$this->lblRequireUpdate) return $this->lblRequireUpdate_Create();
					return $this->lblRequireUpdate;
				case 'DisplayReportControl':
					if (!$this->txtDisplayReport) return $this->txtDisplayReport_Create();
					return $this->txtDisplayReport;
				case 'DisplayReportLabel':
					if (!$this->lblDisplayReport) return $this->lblDisplayReport_Create();
					return $this->lblDisplayReport;
				case 'DisplayUpdateControl':
					if (!$this->txtDisplayUpdate) return $this->txtDisplayUpdate_Create();
					return $this->txtDisplayUpdate;
				case 'DisplayUpdateLabel':
					if (!$this->lblDisplayUpdate) return $this->lblDisplayUpdate_Create();
					return $this->lblDisplayUpdate;
				case 'RequireResolvedControl':
					if (!$this->txtRequireResolved) return $this->txtRequireResolved_Create();
					return $this->txtRequireResolved;
				case 'RequireResolvedLabel':
					if (!$this->lblRequireResolved) return $this->lblRequireResolved_Create();
					return $this->lblRequireResolved;
				case 'DisplayResolvedControl':
					if (!$this->txtDisplayResolved) return $this->txtDisplayResolved_Create();
					return $this->txtDisplayResolved;
				case 'DisplayResolvedLabel':
					if (!$this->lblDisplayResolved) return $this->lblDisplayResolved_Create();
					return $this->lblDisplayResolved;
				case 'DisplayClosedControl':
					if (!$this->txtDisplayClosed) return $this->txtDisplayClosed_Create();
					return $this->txtDisplayClosed;
				case 'DisplayClosedLabel':
					if (!$this->lblDisplayClosed) return $this->lblDisplayClosed_Create();
					return $this->lblDisplayClosed;
				case 'RequireClosedControl':
					if (!$this->txtRequireClosed) return $this->txtRequireClosed_Create();
					return $this->txtRequireClosed;
				case 'RequireClosedLabel':
					if (!$this->lblRequireClosed) return $this->lblRequireClosed_Create();
					return $this->lblRequireClosed;
				case 'FilterByControl':
					if (!$this->txtFilterBy) return $this->txtFilterBy_Create();
					return $this->txtFilterBy;
				case 'FilterByLabel':
					if (!$this->lblFilterBy) return $this->lblFilterBy_Create();
					return $this->lblFilterBy;
				default:
					try {
						return parent::__get($strName);
					} catch (QCallerException $objExc) {
						$objExc->IncrementOffset();
						throw $objExc;
					}
			}
		}

		/**
		 * Override method to perform a property "Set"
		 * This will set the property $strName to be $mixValue
		 *
		 * @param string $strName Name of the property to set
		 * @param string $mixValue New value of the property
		 * @return mixed
		 */
		public function __set($strName, $mixValue) {
			try {
				switch ($strName) {
					// Controls that point to MantisCustomFieldTable fields
					case 'IdControl':
						return ($this->lblId = QType::Cast($mixValue, 'QControl'));
					case 'NameControl':
						return ($this->txtName = QType::Cast($mixValue, 'QControl'));
					case 'TypeControl':
						return ($this->txtType = QType::Cast($mixValue, 'QControl'));
					case 'PossibleValuesControl':
						return ($this->txtPossibleValues = QType::Cast($mixValue, 'QControl'));
					case 'DefaultValueControl':
						return ($this->txtDefaultValue = QType::Cast($mixValue, 'QControl'));
					case 'ValidRegexpControl':
						return ($this->txtValidRegexp = QType::Cast($mixValue, 'QControl'));
					case 'AccessLevelRControl':
						return ($this->txtAccessLevelR = QType::Cast($mixValue, 'QControl'));
					case 'AccessLevelRwControl':
						return ($this->txtAccessLevelRw = QType::Cast($mixValue, 'QControl'));
					case 'LengthMinControl':
						return ($this->txtLengthMin = QType::Cast($mixValue, 'QControl'));
					case 'LengthMaxControl':
						return ($this->txtLengthMax = QType::Cast($mixValue, 'QControl'));
					case 'RequireReportControl':
						return ($this->txtRequireReport = QType::Cast($mixValue, 'QControl'));
					case 'RequireUpdateControl':
						return ($this->txtRequireUpdate = QType::Cast($mixValue, 'QControl'));
					case 'DisplayReportControl':
						return ($this->txtDisplayReport = QType::Cast($mixValue, 'QControl'));
					case 'DisplayUpdateControl':
						return ($this->txtDisplayUpdate = QType::Cast($mixValue, 'QControl'));
					case 'RequireResolvedControl':
						return ($this->txtRequireResolved = QType::Cast($mixValue, 'QControl'));
					case 'DisplayResolvedControl':
						return ($this->txtDisplayResolved = QType::Cast($mixValue, 'QControl'));
					case 'DisplayClosedControl':
						return ($this->txtDisplayClosed = QType::Cast($mixValue, 'QControl'));
					case 'RequireClosedControl':
						return ($this->txtRequireClosed = QType::Cast($mixValue, 'QControl'));
					case 'FilterByControl':
						return ($this->txtFilterBy = QType::Cast($mixValue, 'QControl'));
					default:
						return parent::__set($strName, $mixValue);
				}
			} catch (QCallerException $objExc) {
				$objExc->IncrementOffset();
				throw $objExc;
			}
		}
	}
?>